package com.ruoyi.bole.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 内容信息对象 bole_content
 * 
 * @author WuJiaLe
 * @date 2025-03-22
 */
public class BoleContent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    //报名所需积分
    private Integer requiredIntegral;
    /** 内容ID */
    private Long contentId;

    /** 内容类型（1新闻 2活动） */
    @Excel(name = "内容类型", readConverterExp = "1=新闻,2=活动")
    private String contentType;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 封面图路径 */
    @Excel(name = "封面图路径")
    private String cover;

    /** 分类ID */
    private Long categoryId;

    /** 创建人ID（关联sys_user.user_id） */
    private Long userId;

    /** 部门ID（关联sys_dept.dept_id） */
    private Long deptId;

    /** 富文本内容 */
    @Excel(name = "富文本内容")
    private String content;

    /** 活动时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date eventTime;

    /** 活动地点 */
    @Excel(name = "活动地点")
    private String location;

    /** 状态（0待发布 1已发布 2已下架） */
    private String status;

    /** 删除标志（0存在 2删除） */
    private String delFlag;

    /** 报名截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报名截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date regEndTime;

    /** 最大报名人数 */
    @Excel(name = "最大报名人数")
    private Long maxAttendees;

    /** 是否需要审核（0不需要 1需要） */
    @Excel(name = "是否需要审核", readConverterExp = "0=不需要,1=需要")
    private String needAudit;

    public Integer getRequiredIntegral() {
        return requiredIntegral;
    }

    public void setRequiredIntegral(Integer requiredIntegral) {
        this.requiredIntegral = requiredIntegral;
    }

    /** 内容图片信息 */
    private List<BoleContentImage> boleContentImageList;

    public void setContentId(Long contentId) 
    {
        this.contentId = contentId;
    }

    public Long getContentId() 
    {
        return contentId;
    }
    public void setContentType(String contentType) 
    {
        this.contentType = contentType;
    }

    public String getContentType() 
    {
        return contentType;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setCover(String cover) 
    {
        this.cover = cover;
    }

    public String getCover() 
    {
        return cover;
    }
    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setEventTime(Date eventTime) 
    {
        this.eventTime = eventTime;
    }

    public Date getEventTime() 
    {
        return eventTime;
    }
    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setRegEndTime(Date regEndTime) 
    {
        this.regEndTime = regEndTime;
    }

    public Date getRegEndTime() 
    {
        return regEndTime;
    }
    public void setMaxAttendees(Long maxAttendees) 
    {
        this.maxAttendees = maxAttendees;
    }

    public Long getMaxAttendees() 
    {
        return maxAttendees;
    }
    public void setNeedAudit(String needAudit) 
    {
        this.needAudit = needAudit;
    }

    public String getNeedAudit() 
    {
        return needAudit;
    }

    public List<BoleContentImage> getBoleContentImageList()
    {
        return boleContentImageList;
    }

    public void setBoleContentImageList(List<BoleContentImage> boleContentImageList)
    {
        this.boleContentImageList = boleContentImageList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("contentId", getContentId())
            .append("contentType", getContentType())
            .append("title", getTitle())
            .append("cover", getCover())
            .append("categoryId", getCategoryId())
            .append("userId", getUserId())
            .append("deptId", getDeptId())
            .append("content", getContent())
            .append("eventTime", getEventTime())
            .append("location", getLocation())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("regEndTime", getRegEndTime())
            .append("maxAttendees", getMaxAttendees())
            .append("needAudit", getNeedAudit())
                .append("requiredIntegral", getRequiredIntegral())
            .append("boleContentImageList", getBoleContentImageList())
            .toString();
    }
}
